def merge(A, B):
    result = []
    len_A = len(A)
    len_B = len(B)
    i, j = 0, 0
    while i < len_A and j < len_B:
        if A[i] < B[j]:
            result.append(A[i])
            i += 1
        else:
            result.append(B[j])
            j += 1
    result.extend(A[i:])
    result.extend(B[j:])
    return result


def merge_sort(a):
    n = len(a)
    if n <= 1:
        return a
    mid = n // 2
    left = merge_sort(a[:mid])
    right = merge_sort(a[mid:])
    return merge(left, right)


#
n = int(input())
a = list(map(int, input().split()))
a = merge_sort(a)


print(*a)



